package com.haixiaoke.saas.user.service.impl;

import java.util.List;

import com.haixiaoke.saas.user.domain.BizUserRole;
import com.haixiaoke.saas.user.mapper.BizUserRoleMapper;
import com.haixiaoke.saas.user.service.IBizUserRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 企业端用户和角色关联Service业务层处理
 * 
 * @author panda
 * @date 2023-12-29
 */
@Service
public class BizUserRoleServiceImpl implements IBizUserRoleService {
    @Autowired
    private BizUserRoleMapper bizUserRoleMapper;

    /**
     * 查询企业端用户和角色关联
     * 
     * @param userId 企业端用户和角色关联主键
     * @return 企业端用户和角色关联
     */
    @Override
    public BizUserRole selectBizUserRoleByUserId(Long userId) {
        return bizUserRoleMapper.selectBizUserRoleByUserId(userId);
    }

    /**
     * 查询企业端用户和角色关联列表
     * 
     * @param bizUserRole 企业端用户和角色关联
     * @return 企业端用户和角色关联
     */
    @Override
    public List<BizUserRole> selectBizUserRoleList(BizUserRole bizUserRole) {
        return bizUserRoleMapper.selectBizUserRoleList(bizUserRole);
    }

    /**
     * 新增企业端用户和角色关联
     * 
     * @param bizUserRole 企业端用户和角色关联
     * @return 结果
     */
    @Override
    public int insertBizUserRole(BizUserRole bizUserRole) {
        return bizUserRoleMapper.insertBizUserRole(bizUserRole);
    }

    /**
     * 修改企业端用户和角色关联
     * 
     * @param bizUserRole 企业端用户和角色关联
     * @return 结果
     */
    @Override
    public int updateBizUserRole(BizUserRole bizUserRole) {
        return bizUserRoleMapper.updateBizUserRole(bizUserRole);
    }

    /**
     * 批量删除企业端用户和角色关联
     * 
     * @param userIds 需要删除的企业端用户和角色关联主键
     * @return 结果
     */
    @Override
    public int deleteBizUserRoleByUserIds(Long[] userIds) {
        return bizUserRoleMapper.deleteBizUserRoleByUserIds(userIds);
    }

    /**
     * 删除企业端用户和角色关联信息
     * 
     * @param userId 企业端用户和角色关联主键
     * @return 结果
     */
    @Override
    public int deleteBizUserRoleByUserId(Long userId) {
        return bizUserRoleMapper.deleteBizUserRoleByUserId(userId);
    }

    @Override
    public int countUserRoleByRoleId(Long roleId) {
        return bizUserRoleMapper.countUserRoleByRoleId(roleId);
    }

    @Override
    public int deleteUserRoleInfo(BizUserRole userRole) {
        return bizUserRoleMapper.deleteUserRoleInfo(userRole);
    }

    @Override
    public int deleteUserRoleInfos(Long roleId, Long[] userIds) {
        return bizUserRoleMapper.deleteUserRoleInfos(roleId,userIds);
    }

    @Override
    public int batchUserRole(List<BizUserRole> list) {
        return bizUserRoleMapper.batchUserRole(list);
    }

    @Override
    public int deleteBizUserRoleByUserIdAndTenantId(Long userId, String tenantId) {
        return bizUserRoleMapper.deleteBizUserRoleByUserIdAndTenantId(userId,tenantId);
    }

    @Override
    public int deleteBizUserRoleByRoleId(Long roleId) {
        return bizUserRoleMapper.deleteBizUserRoleByRoleId(roleId);
    }
}
